package com.medical.data.service;

import com.medical.data.domain.Patient;
import com.baomidou.mybatisplus.extension.service.IService;
import com.medical.data.vo.*;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author cj
 * @since 2024-02-06
 */
public interface PatientService extends IService<Patient> {

    void createPatient(PatientVo patientVo);

    Map<String, Object> getPatientPage(GetPatientVo patientVo);

    void addPatient(PatientVo patientVo);

    void openFollowUp(OpenFollowUpVo openFollowUpVo);

    Map<String, Object> getPatientByProject(QueryPatientVo queryPatientVo);

    Date getFollowTime(String patientId);

    //用于更新随访患者表中的查询患者
    Patient getPatientById(String patientId);

    List<Patient> getPatientsByIds(List<String> list);

    void updateIsFollow(String patientId, Boolean isFollowUp);

    boolean isExistInProject(String projectId);

    void updateFollowUpTime(String patientId, Date date);

    int getPatientNumber();

    int getTodayPatientNumber();

    void deleteById(String patientId);

    List<PatientAgeVo> getPatientAge();

    String getProjectIdByPatientId(String patientId);
}
